#define _CRT_SECURE_NO_WARNINGS 1

#include "stdio.h"
#include "stdbool.h"

void test1() {
	int a = 10;
	int b = 01;
	printf("%d %d", a, b);
}

//bool isPalindrome(int x) {
//    if (x < 0) {
//        return false;
//    }
//    int x_copy = x;
//    int len = 0;
//    while (x_copy) {
//        len++;
//        x_copy /= 10;
//    }
//    printf("len: %d\n", len);
//    x_copy = x;
//    int rev_x = 0;
//    for (int i = 0; i < len / 2; ++i) {
//        rev_x = rev_x * 10 + x_copy % 10;
//        x_copy /= 10;
//        x /= 10;
//    }
//    if (len % 2) {
//        x /= 10;
//    }
//    return x == rev_x;
//}

bool isPalindrome(int x) {
    if (x < 0 || x > 0 && x % 10 == 0) {
        return false;
    }
    int rev = 0;
    while (rev < x / 10) {
        rev = rev * 10 + x % 10;
        x /= 10;
    }
    return rev == x || rev == x / 10;
}

void test2() {
    bool flag = isPalindrome(0);
    printf("%d\n", flag);
}

int main() {

	//test1();
    test2();
	return 0;
}